import ajax from '@/js_sdk/u-ajax/uni-ajax' // 引入 uni-ajax 模块

const config = {
	baseURL: "/api"
}

const _ajax = ajax.create(config)  // 创建请求实例 可配置默认项

// 注册请求拦截器
_ajax.interceptors.request.use( 
  config => {
	  let token = uni.getStorageSync('X-Access-Token')
	if (token) {
	    // 如果有token  请求头带上TOKEN
	    config.header["X-Access-Token"] = token;
	  }
    return config;
  },
  error => {
    return Promise.reject(error);
  })     
  
  // 注册响应拦截器
_ajax.interceptors.response.use(
  rsp => {
	if (rsp.data.code !== 200) {
		uni.showToast({
			title: rsp.data.message,
			icon: 'none',
			duration: 3000
		});
		return Promise.reject('error')
	  } else {
		return rsp.data.result;
	  }
  },
  // 拦截异常的响应
  err => {
    console.log("请求", err);
    switch (err.statusCode) {
      case 401:
		uni.showToast({
			title: "登陆已过期",
			icon: 'none',
			duration: 3000
		});
        break;
      case 403:
        break;
      case 500:
		uni.showToast({
			title: "服务器出了点小错误",
			icon: 'none',
			duration: 3000
		});
        break;
      case 404:
		uni.showToast({
			title: "未找到，检查参数",
			icon: 'none',
			duration: 3000
		});
        break;
      default:
        // throw 'request error'
        return Promise.reject(err);
    }
    // throw 'request error'
    return Promise.reject(err);
  })    

export default _ajax  // 导出创建后的实例